A computer network is a collection of interconnected computing devices that exchange data and share resources. In a packet-based network, the computing devices communicate data by dividing the data into small blocks called packets. Devices within the network, such as routers and switches, forward the packets through the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form.
Various protocols exist that allow the network devices, such as the routers and switches, to collect and report traffic statistics. For example, the network devices deploy sampling mechanisms that collect traffic statistics on interfaces of the device where traffic is received and/or transmitted. In general, network devices may use uniform or non-uniform sampling, otherwise known as “smart sampling,” to collect the traffic statistics.
In accordance with the protocols, the network device may periodically export records containing traffic statistics to a centralized device referred to as a packet flow collector. In many network environments, the collector may receive traffic flow information via traffic flow packets sent from various network locations. Consequently, a user or network administrator can use the packet flow collector to analyze overall network traffic flow. In general, the sampling mechanisms provided by network devices allow only a static, pre-defined sampling threshold to be configured.